/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Bitacora;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/**
 *
 * @author Karadak
 */

public class Escribir_Objeto 
{
    public void escribir(Tabla_Simbolos simb, String direccion , String nombre_objeto)
    {
        try
        {
            //
            File name = new File(direccion);


           String path_completo = name.getAbsolutePath();
           String nombre = name.getName();
           String dir = name.getAbsolutePath().substring(0, path_completo.length()-nombre.length());
            
        
            FileOutputStream arch = new FileOutputStream(dir+nombre_objeto+".obj");

            ObjectOutputStream out = new ObjectOutputStream(arch);

            // Escribir el objeto en el fichero
            out.writeObject(simb);
            
            
            out.close();
            arch.close();
//            
            System.out.println("ARCHIVO objeto escrito....");
            //System.err.println("[] "+dir+nombre_objeto+".obj");
   
        }
        catch(Exception er)
        {
            System.err.println("[ERROR] escritura de objeto "+er.getMessage());
        }
    }
    
    public Tabla_Simbolos leer(String direccion_obj)
    {
        Tabla_Simbolos entrada = new Tabla_Simbolos();
        
        try
        {
           
            FileInputStream arch = new FileInputStream(direccion_obj);
            ObjectInputStream in = new ObjectInputStream(arch);
            
            entrada = (Tabla_Simbolos)in.readObject();
            
            arch.close();
            in.close();
            
            System.out.println("ARCHIVO objeto leido....");
            
            
        }
        catch(Exception er)
        {
            System.err.println("[ERROR] lectura de objeto "+er.getMessage());
        }
        
        return entrada;
    }
}
